﻿using System;
using System.ComponentModel;
using System.Net.Sockets;
using System.Net;


namespace BrainTechLLC
{
    #if NO_SILVERLIGHT
[Browsable(true)]
[TypeConverter(typeof(ExpandableObjectConverter))]
#endif
    public interface ICommunicationsBase : ITrackBytes
    {
        event EventHandler<ObjectEventArgs<ICommunicationsMessage>> MessageReceived;
        long AssociatedID { get; set; }
        bool NeedsClosing { get; set; }
        ICommunicationsProtocol TcpClientConnection { get; set; }
        void SendMessage(object o, int transmissionType);
        void CloseConnection();
    }
}
